package com.smartleanx.module.hrm.dal.dataobject.examine.examinSon;

import com.smartleanx.framework.tenant.core.db.TenantBaseDO;
import lombok.*;

import java.util.*;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import com.smartleanx.framework.mybatis.core.dataobject.BaseDO;

/**
 * 考核计划 DO
 *
 * @author 宁无霜
 */
@TableName("hrm_examine")
@KeySequence("hrm_examine_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExamineDO {

    /**
     * 主键id
     */
    @TableId
    private Integer id;
    /**
     * 考核方案名称
     */
    private String examinePlanName;
//    /**
//     * 考核范围
//     */
//    private String examineRange;
//    /**
//     * 考核范围1部门/人员 2岗位
//     */
//    private Integer examineRangeType;
    /**
     * 考核周期 1月度 2季度 3上半年 4下半年5全年 6其他
     */
    private Integer examineCycleTypeId;
    /**
     * 考核周期开始时间
     */
    private String examineCycleStart;
    /**
     * 考核说明
     */
    private String examineIllustrate;
    /**
     * 评分上限
     */
    private Integer examineLimit;

    /**
     * 1未开始 2进行中 3已完成 4已归档
     */
    private Integer examineState;

    /**
     * 考核周期结束时间
     */
    private String examineCycleEnd;


    private Long tenantId;

    /**
     * 周期类型年
     */
    private String examineYear;

    /**
     * 周期类型月
     */
    private String examineCycleTimeType;

    private String templateName;

    private Integer templateId;

    private Integer resultConfigTemplateId;

    private Integer isReview;

    private Integer createBy;
    private String createTime;

    @TableField(exist = false)
    private String deptStr;
    @TableField(exist = false)
    private String postStr;

    @TableField(exist = false)
    private Integer employeeNum;
    @TableField(exist = false)
    private Integer progressNum;
    @TableField(exist = false)
    private Integer scoreNum;
    @TableField(exist = false)
    private Integer  reviewNum;
    @TableField(exist = false)
    private Integer resultNum;

    @TableField(exist = false)
    private Integer examinePlanNum;

    @TableField(exist = false)
    private Integer examineflowNum;
    @TableField(exist = false)
    private Long scoreStatus;
    @TableField(exist = false)
    private Long reviewStatus;
    @TableField(exist = false)
    private Long resultStatus;

    private String dataStr;





}